package com.jboost.modules.app.dto;

import com.google.gson.annotations.SerializedName;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class XMUserReqDto {

    /**
     * op : data_create
     * data : {"formName":"客户管理","_id":"5b237267b22ab14884086cc9","creator":{"name":"Peter","username":"peter","status":1,"type":0},"updater":{"name":"Peter","username":"peter","status":1,"type":0},"deleter":{"name":"Peter","username":"peter","status":1,"type":0},"createTime":"2018-01-01T10:10:10.000Z","updateTime":"2018-01-01T10:10:10.000Z","deleteTime":"2018-01-01T10:10:10.000Z","customer_serial_number":"00001","customer_name":"Peter","customer_no":"Peter","customer_abbreviation":"Peter","business_unit":"Female","first_area":"Female","sencond_area":"Female","monther_land":"Peter","product_line":["Option 1","Option 2"],"product_customer_label":"Female","customer_attribution":"Female","affiliated_salesperson":{"name":"Peter","username":"peter","status":1,"type":0},"logo":[{"name":"image1.png","size":262144,"mime":"image/png","url":"https://files.xxxxx.com/xxx"},{"name":"image2.png","size":262100,"mime":"image/png","url":"https://files.xxxxx.com/xxx"}],"group":"Peter","customer_stage":"Peter","product_information":[{"product_customer_abbreviation":"Peter","customer_part_no":"Peter","huixin_model":"Peter"}],"auxiliary":10,"before_transaction":"Peter","customer_xm_rank":"Peter","ctreat_time":"2018-01-01T10:10:10.000Z","customer_orign":"Peter","customer_label":"Peter","customer_nature":"Peter","order_sales_city":"Peter","age":"Peter","sex":"Peter","position":"Peter","phone":"Peter","hot_selling_series":"Peter","surface_treatment":"Peter","required_profile_size":"Peter","application_scenario":"Peter","customer_focus":"Peter","search_fields":"Peter","search_keyword_attributes":"Peter","inquiry_type":"Peter","first_inquiry_time":"2018-01-01T10:10:10.000Z","browse_page":"Peter","browse_time":"Peter","drainage_area":"Peter","annual_procurement_amount":"Peter","purchase_intention":"Peter","address":"Peter","lading_consignee":"Peter","lading_consignee_1":"Peter","company_remarks":"Peter","first_quest":"Peter","annual_procurement_volume":"Peter","import_experience":"Peter","sales_city":"Peter","order_worry":"Peter","user_feed_back":"Peter","user_lost_why":"Peter","user_discount":"Peter","new_old_platforms":"Peter","flow_in":"Peter","product_id":"Peter","contact":[{"contact_name":"Peter","contcat_email":"Peter","contact_platform":"Peter","contact_account":"Peter","contact_phone":"Peter","contact_position":"Peter","contact_position_rank":"Peter","contact_notes":"Peter","contact_sex":"Peter","contact_age":"Peter","contact_language":"Peter"}],"contact_deal_after":"Peter","user_rank":"Peter","oa_credit":"Female","focusing_ratio":10,"payment_ratio":10,"order_payment_ratio":10,"order_address":"Peter","starting_port":"Peter","transit_port":"Peter","destination_port":"Peter","trade_mode":"Female","settlement_way":"Female"}
     */

    /**
     * formName : 客户管理
     * _id : 5b237267b22ab14884086cc9
     * creator : {"name":"Peter","username":"peter","status":1,"type":0}
     * updater : {"name":"Peter","username":"peter","status":1,"type":0}
     * deleter : {"name":"Peter","username":"peter","status":1,"type":0}
     * createTime : 2018-01-01T10:10:10.000Z
     * updateTime : 2018-01-01T10:10:10.000Z
     * deleteTime : 2018-01-01T10:10:10.000Z
     * customer_serial_number : 00001
     * customer_name : Peter
     * customer_no : Peter
     * customer_abbreviation : Peter
     * business_unit : Female
     * first_area : Female
     * sencond_area : Female
     * monther_land : Peter
     * product_line : ["Option 1","Option 2"]
     * product_customer_label : Female
     * customer_attribution : Female
     * affiliated_salesperson : {"name":"Peter","username":"peter","status":1,"type":0}
     * logo : [{"name":"image1.png","size":262144,"mime":"image/png","url":"https://files.xxxxx.com/xxx"},{"name":"image2.png","size":262100,"mime":"image/png","url":"https://files.xxxxx.com/xxx"}]
     * group : Peter
     * customer_stage : Peter
     * product_information : [{"product_customer_abbreviation":"Peter","customer_part_no":"Peter","huixin_model":"Peter"}]
     * auxiliary : 10
     * before_transaction : Peter
     * customer_xm_rank : Peter
     * ctreat_time : 2018-01-01T10:10:10.000Z
     * customer_orign : Peter
     * customer_label : Peter
     * customer_nature : Peter
     * order_sales_city : Peter
     * age : Peter
     * sex : Peter
     * position : Peter
     * phone : Peter
     * hot_selling_series : Peter
     * surface_treatment : Peter
     * required_profile_size : Peter
     * application_scenario : Peter
     * customer_focus : Peter
     * search_fields : Peter
     * search_keyword_attributes : Peter
     * inquiry_type : Peter
     * first_inquiry_time : 2018-01-01T10:10:10.000Z
     * browse_page : Peter
     * browse_time : Peter
     * drainage_area : Peter
     * annual_procurement_amount : Peter
     * purchase_intention : Peter
     * address : Peter
     * lading_consignee : Peter
     * lading_consignee_1 : Peter
     * company_remarks : Peter
     * first_quest : Peter
     * annual_procurement_volume : Peter
     * import_experience : Peter
     * sales_city : Peter
     * order_worry : Peter
     * user_feed_back : Peter
     * user_lost_why : Peter
     * user_discount : Peter
     * new_old_platforms : Peter
     * flow_in : Peter
     * product_id : Peter
     * contact : [{"contact_name":"Peter","contcat_email":"Peter","contact_platform":"Peter","contact_account":"Peter","contact_phone":"Peter","contact_position":"Peter","contact_position_rank":"Peter","contact_notes":"Peter","contact_sex":"Peter","contact_age":"Peter","contact_language":"Peter"}]
     * contact_deal_after : Peter
     * user_rank : Peter
     * oa_credit : Female
     * focusing_ratio : 10
     * payment_ratio : 10
     * order_payment_ratio : 10
     * order_address : Peter
     * starting_port : Peter
     * transit_port : Peter
     * destination_port : Peter
     * trade_mode : Female
     * settlement_way : Female
     */
    private Map gswz;
    @SerializedName("customer_serial_number")
    private Map customer_serial_number;
    @SerializedName("customer_name")
    private Map customer_name;
    @SerializedName("customer_no")
    private Map yxcp;
    private Map customer_no;
    private Map customer_abbreviation;
    private Map business_unit;
    private Map first_area;
    private Map sencond_area;
    private Map monther_land;
    private Map product_customer_label;
    private Map customer_attribution;
    private Map<String,Object> affiliated_salesperson;
    private Map group;
    private Map customer_stage;
    private int auxiliary;
    private Map before_transaction;
    private Map customer_xm_rank;
    private Map ctreat_time;
    private Map customer_orign;
    private Map customer_label;
    private Map customer_nature;
    private Map order_sales_city;
    private Map age;
    private Map sex;
    private Map position;
    private Map phone;
    private Map hot_selling_series;
    private Map surface_treatment;
    private Map required_profile_size;
    private Map application_scenario;
    private Map customer_focus;
    private Map search_fields;
    private Map search_keyword_attributes;
    private Map inquiry_type;
    private Map first_inquiry_time;
    private Map browse_page;
    private Map browse_time;
    private Map drainage_area;
    private Map annual_procurement_amount;
    private Map purchase_intention;
    private Map address;
    private Map lading_consignee;
    private Map lading_consignee_1;
    private Map company_remarks;
    private Map first_quest;
    private Map annual_procurement_volume;
    private Map import_experience;
    private Map sales_city;
    private Map order_worry;
    private Map user_feed_back;
    private Map user_lost_why;
    private Map user_discount;
    private Map new_old_platforms;
    private Map flow_in;
    private Map product_id;
    private Map contact_deal_after;
    private Map user_rank;
    private Map oa_credit;
    private Map focusing_ratio;
    private Map payment_ratio;
    private Map order_payment_ratio;
    private Map order_address;
    private Map starting_port;
    private Map transit_port;
    private Map destination_port;
    private Map trade_mode;
    private Map settlement_way;
    private Map djbl;
    private Map product_line;
    private Map<String,List<LogoBean>> logo;
    private List<ProductInformationBean> product_information;
    private Map<String,List<ContactBean>> contact;

    private Map _widget_1694629005949;


    @Data
    public static class AffiliatedSalespersonBean {
        /**
         * name : Peter
         * username : peter
         * status : 1
         * type : 0
         */

        private Map name;
        private Map username;
        private Map status;
        private Map type;
    }

    @Data
    public static class LogoBean {
        /**
         * name : image1.png
         * size : 262144
         * mime : image/png
         * url : https://files.xxxxx.com/xxx
         */

        private Map name;
        private Map size;
        private Map mime;
        private Map url;
    }

    @Data
    public static class ProductInformationBean {
        /**
         * product_customer_abbreviation : Peter
         * customer_part_no : Peter
         * huixin_model : Peter
         */

        private Map product_customer_abbreviation;
        private Map customer_part_no;
        private Map huixin_model;
    }

    @Data
    public static class ContactBean {
        /**
         * contact_name : Peter
         * contcat_email : Peter
         * contact_platform : Peter
         * contact_account : Peter
         * contact_phone : Peter
         * contact_position : Peter
         * contact_position_rank : Peter
         * contact_notes : Peter
         * contact_sex : Peter
         * contact_age : Peter
         * contact_language : Peter
         */

        private Map contact_name;
        private Map contcat_email;
        private Map contact_platform;
        private Map contact_account;
        private Map contact_phone;
        private Map contact_position;
        private Map contact_position_rank;
        private Map contact_notes;
        private Map contact_sex;
        private Map contact_age;
        private Map contact_language;
    }
}
